Programmable controllers are well known devices for operating industrial equipment such as assembly lines and machine tools, in accordance with a stored program. In these controllers, a control program is stored in a memory and includes instructions which are read out in rapid sequence and executed to examine the condition of selected sensing devices on the controlled equipment, and to energize or de-energize selected operating devices on the controlled equipment contingent upon the status of one or more of the examined sensing devices. Other instructions are provided not only to manipulate single-bit input and output data representing the state of the sensing and operating devices, but also to perform arithmetic operations, timing and counting functions, and more complex processing operations.
In carrying out its functions, programmable controller processor is expected to execute well-known programmable controller type instructions. Such instructions have become quite standardized in the industry and they are directly associated with the elements of a ladder logic diagram which is easily understood by control engineers. Program panels such as those described in U.S. Pat. Nos. 3,798,612; 3,813,649 and 4,070,702 have been developed to assist the user in developing and editing ladder logic control programs comprised of such programmable controller instructions.
Another type of machine controller is a sequencer, such as a mechanical rotating drum sequencer of the type which controls washing machines. A series of projecting tabs on a drum are aligned to make or break electrical switch contacts as the drum rotates in a predefined direction. Thus, as the drum rotates, stepping through a set sequence, various combinations of outputs may be energized or de-energized. The conventional sequencer has been implemented as a programmable electronic device, such as the one described in U.S. Pat. No. 3,974,484. The traditional sequencer has the advantage that in the event of an error condition, the state of the equipment that prompted the error condition are easily determined. One drawback of this type of controller is that the process being controlled must always advance from one step to the same subsequent step. In many control processes, however, it is necessary to advance from a step to one of several subsequent steps depending upon the state of the control process.
To meet this need, a directed sequencer was developed, as described in U.S. Pat. No. 5,042,002. This device enabled a transition to occur from each state to one of a plurality of possible states defined by the user. Each transition was triggered by a single input data bit making a predetermined logic level transition. This bit represented the status of a sensor that responded to a parameter of the process or machine being controlled. Although many processes can be easily broken down into individual steps from which a transition will occur when a single input sensor bit changes, it often is difficult to divide complex processes to the degree where a single sensed parameter triggers a step transition. In the latter case, it is desirable to define the process in higher level terms in which a series of input bits, or parameter states, define transitions between steps.